iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
IT管理

30天就上手之微軟Power Automate Desktop系列 第 25

【Day25】Power Automate Desktop 檔案分類_用當月資料夾來存放當月檔案篇

  • 分享至 

  • xImage
  •  

隨著每日備份的截圖檔案愈來愈多,在資料夾內的檔案自然就會混雜著不同月份的了,但這時要找起來就很麻煩。

所以索性就要機器人來幫忙分類吧!

這邊會用到的動作大致上是取得資料夾資訊,取得檔案資訊,迴圈,判斷檔案日期是否比較小,搬移檔案,創建資料夾…等等;相信這些在前幾天的內容裡面都有提到過了。

但這邊有時會出現點小Bug,也就是經過機器人判斷後,它會認為檔案並沒有比較小……(雖然我也不太確認他判斷的依據到底是檔案容量或檔名……XP),所以就會被By Pass掉了,而檔案呢……自然是不會被移動啦!

不過不用擔心,因為關於這部分的問題在後面會補上解決方案。

接下來就來說作法吧。

在子流程部分主要分為三塊,第一就是老熟人,也就是每次都拿來取得檔名用的Getdatetostr了。

但這次有點不太一樣喔!

因為之前都是要取檔名,所以設定都是yyyyMMdd,也就是系統的年月日,但這次要做的是把檔案依年+月來分類,所以只會用到yyyyMM而已。(原本的沒用到,放在那也沒差)

附帶一提,這邊的mm和MM的差異在於,小寫的mm對PAD來說是指分鐘,大寫的MM才是月份。
https://ithelp.ithome.com.tw/upload/images/20230901/20159965eNxMSaPUS1.png

再來的第二部分就是取得資料夾內容和資料夾內的檔案清單了!

下面用每日必定會檢查到的EXSI為例(雖然子資料夾的內容基本沒用到就是…):
https://ithelp.ithome.com.tw/upload/images/20230901/20159965THENrkdlHR.png

取得了檔案清單以後就是呼叫重頭戲的CheckingESXIfiles子流程啦!

CheckingESXIfiles子流程內容如下:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965scX69UEtOO.png
https://ithelp.ithome.com.tw/upload/images/20230901/20159965jHzkqSs82w.png
https://ithelp.ithome.com.tw/upload/images/20230901/20159965Y9ZxeCGFIX.png

流程說明:

一開始一樣是呼叫老熟人,先取得檔名和資料夾名稱。

接著就做一個For Each迴圈,也就是跑到直到目標沒有為止!

至於設定變數為0的部分是之前測試時使用到的。

基本上是可有可無,畢竟每跑一次迴圈後,這個變數值在理論上都應該要被改變的!
https://ithelp.ithome.com.tw/upload/images/20230901/20159965WFudf3qBWV.png

再來就是判斷檔案的部分了,要把用迴圈從檔案清單抓出來的檔案進行判斷,如果是.png的圖檔,就把資訊寫入變數NewVar中。

接著就是判斷這個檔案是否比當天的檔案名稱小。
https://ithelp.ithome.com.tw/upload/images/20230901/20159965oMVSQHO5W2.png

如果比較小的時候就要確認當月份的資料夾有沒有存在了。

如果資料夾是存在的,就直接搬移檔案;如果沒有當月的資料夾,就先建立一個以後再搬檔案。

中間的等候3秒只是為了做系統防呆,以免資料夾都還沒建立完成,流程就直接走到下一動了!

接下來就會看到清爽的資料夾啦!!!
https://ithelp.ithome.com.tw/upload/images/20230901/20159965DkrKYRibAX.png

機器人自動化是不是很簡單又美好呢?


至於前面有提到,在判斷大小時,會被機器人判斷不符條件而By pass的問題。

由於單純用變數來判斷時,我其實不確定到底機器人的判斷基準是什麼,但是By pass的問題確確實實的產生了,所以這就會是一個必須被修復的問題!

不然我還要用手動搬移的話,那我到底要用機器人幹嘛呢?您說是吧!?

而這部分的修改也非常的簡單,基本上就只個簡單的設定,不需要變動到流程!

主要的差異就在第一個IF的判斷式上。
https://ithelp.ithome.com.tw/upload/images/20230925/20159965igbDC9smnE.png

原本的判斷式是直接判斷”變數”+小於(<)+”檔名”。

而修改的部分則是改為:”變數.Name”(變數的Name值(名稱))+<=(小於或等於)+”檔名”。

如果每天都執行的話,判斷式就可以改用”包含”(不分大小寫)的方式:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965GWl0J8fpGL.png

因為這個流程我是對應每日檢查來執行的,所以有執行就會產生當天的檢查圖檔,而產生了圖檔就要做分類!

因此不論是昨天產生的圖檔,或是檢查當天產生的圖檔,統統要歸類到當月的資料夾中去!!

這樣做的話我才會得到一個乾淨有整齊的資料夾,而且對日後找檔案確認時也更為方便了。

說到這,PAD是不是真的很簡單呢?

其實PAD在應用上並不難,主要要有明確又固定的流程,接著就是一些建構流程和測試,以及一堆Debug的小修小改了!

另外,如果建構出來的流程未能達到您的需求,或是您想要的目的的話,可千萬不要妥協放棄,改回去用人工操作啊!!

我個人覺得,PAD不難,又容易上手,只是建構流程需要花比較多的時間而已。

但建構流程基本只要費一次工;完成以後,每天的人工都省下來了!

就像這個案例,流程本身是沒有問題的,只是一個小小判斷式的變更,就能繼續讓機器人自機作業了,可是省下不少人工時間呢。

所以期待更多人能夠知道和應用了!

好啦,今天就先到這!


上一篇
【Day24】Power Automate Desktop 複製檔案/檔案備份
下一篇
【Day26】Power Automate Desktop 檔案分類_用當月資料夾來存放當月檔案篇II.
系列文
30天就上手之微軟Power Automate Desktop30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言